#pragma once
#ifndef DESCRIPTORBASE_H
#define DESCRIPTORBASE_H

#include <functional>
#include <string>

namespace ParticleEngine
{
	template <class T, class A>
	class DescriptorBase
	{
	public:
		typedef std::function<T* (A&)> CreateInstanceCallback;

		std::string Name;
		CreateInstanceCallback Instance;

		DescriptorBase(std::string NewName, CreateInstanceCallback NewInstance) :
		Name(NewName),
		Instance(NewInstance)
		{}
	};
}
#endif